662640702565686620386874445491347181733537667381218021108447371615982847007606670695014277157312702882376817763579529430372456276630680226680930341089752376598290231149325956026381261732639973915905890358236034927609327888302231080379047122939126115360128486106258141287648466715576458212946503972142298989354960148253095848844290107847822362158508007818157921038219110877662593266176129791317141667276357709527117952886948216096609597422370648316773523022906849830889188995111886494504765737424521468447679811878778688503105523799154526337526947347241120014284613272298873963989139817948915061349723468219974529597922429735169547290617365382857205875120619171542214011704122181980786143265087696529326188899113298311828079208063926435897659820879289214676131229927631530628585288470293636272628660416614476091801527354215141134265562781830283095807990618307395573794398759974822612607939277660014573338166357972895176034137782579224614676732624994117326389662230764774246101270459573199107627068997393309855301612590124318789239338242894683444278655465595060038089394737142656116525651806906554594429943389390528417155069943082924584967681867210348662788880876920236737159844645428703301863427495221094531123741204971119928529865464521681947115742982707303435465468496990357187863434278916973751442254103055304388917691005927957876846565284865166101218821294575846640568762818768219792090679493204044160614252216372774062925378086762644972874841209625131906347552064384398378587632033171829223772941792567995658427828527691198772438415777308212850205552904636745738536533605374181444716393273878882425364675098716633616984891857257013085569328242397832112636536385990891988363881598734396922558644777141392377431288422569367194335919869762228738768854321209549582027519369866764183192258784598224371762241758091245448588873095465717435208774495660101407170611124114880335064229727131588135479768209641337066085345102772723199988569728404217218124293507492592488052395469988593489087694452421861696023975155696488038682327367356843092720634614137446827027924758254931769753728357080944833797851223917699318586194536969590936051977157388535052226548617453182060607000529677406622526024528909980633042911549926866318283988379706530211254257486999562840897967915910670158574630281037534849770474536039162742567812847474869849614192151636633752855137127767908839912016095663784782291071829452104339630534633580811878387177501177355851716417284126277703518096086721199276481657309728118743262550775503261960184263846504415279793450464421156357832068111997836292817803248996306844902424569748774290026286527391248259874230513722517216576678652157913941059982427172786705881302368595205025536514819947523037076428515073341243134812045338341428716906831496161035047962138637340838146419459735572247496282154730925749625566249446531315119515697490265114028606344832976394501153791577790911028137464147765578934537614262183922443011529061786272617238895857367376515004961122997845563510954928256570889913883046550861013635425222615769173327636489674785487951818422080619582972727901674825228968313184731098142815766052830252399631907700080774008589178159444601614387823309381206471620854113819838340998753771855748761678868816854461162257723534269504331473005283931717759912525389238665532469991188954360814444386742367183385119906224665471183146746785647612024480365655218924686463541061187562881838864272756409781274496730214468493060144554663861808558959175457694273641061485182223220667407059942112187028199258785514993424474144216616134981441777757153933948676783665940366511739216193617971004425689189754554451818439282793061662966952447962477201417601681270665876964845706016319016785951833835902237049444414914216502729619689946363954793882266720523772743331173618815188753859174201504550555562249724767859993440850171606973844096291832533